package com.dingding.special.user.login.dao;

import com.dingding.special.user.login.dto.ReqSpecialUserLoginDTO;
import com.dingding.special.user.login.dto.ResSpecialUserLoginDTO;

/**
 * 
 * @ClassName: IUserLoginDao 
 * @Description: 用户登录
 * @author CHEHAUNBO 
 * @date 2016年8月21日 下午3:27:37
 * @since V2.4.0
 * 
 */
public interface IUserLoginDao {

	/**
	 * 
	 * 通过手机号获取获取用户信息
	 * 
	 * @Title: getUserLoginInfoByTelPhone
	 * @param telPhone 手机号
	 * @author CHEHAUNBO
	 * @since V2.4.0
	 * 
	 */
	public ResSpecialUserLoginDTO getUserLoginInfoByTelPhone(String telPhone);

	/**
	 * 
	 * 
	 * 首次登录，添加所有用户信息到DB中
	 * 
	 * @Title: addUserInfo
	 * @author CHEHAUNBO
	 * @since V2.4.0
	 * 
	 */
	public boolean addUserInfo(ResSpecialUserLoginDTO resSpecialUserLoginDTO,
			ReqSpecialUserLoginDTO reqSpecialUserLoginDTO);

	/**
	 * 
	 * 获取用户信息，并设置状态为已登录状态
	 * @Title: updateUserLoginInfo
	 * @author CHEHAUNBO
	 * @param specialUserLoginDTO2 
	 * @since V2.4.0
	 * 
	 */
	public String updateUserLoginInfo(ReqSpecialUserLoginDTO specialUserLoginDTO,
			ResSpecialUserLoginDTO specialUserLoginDTO2);

	/**
	 * 
	 * 保存用户登录记录信息
	 * 
	 * @Title: saveUserLoginRecord 
	 * @param userId 用户ID
	 * @param type 操作类型  登录 or 退出
	 * @author CHEHAUNBO
	 * @since V2.4.0
	 */
	public void saveUserLoginRecord(ReqSpecialUserLoginDTO specialUserLoginDTO, String userId, int type);

}
